GRAph Parallel Actor Language — A Programming Language for Parallel Graph Algorithms
نویسنده
چکیده
We introduce a domain-specific language, GRAph PArallel Actor Language, that enablesparallel graph algorithms to be written in a natural, high-level form. GRAPAL is based onour GraphStep compute model, which enables a wide range of parallel graph algorithmsthat are high-level, deterministic, free from race conditions, and free from deadlock. Pro-grams written in GRAPAL are easy for a compiler and runtime to map to efficient parallelfield programmable gate array (FPGA) implementations. We show that the GRAPAL com-piler can verify that the structure of operations conforms to the GraphStep model. Weallocate many small processing elements in each FPGA that take advantage of the highon-chip memory bandwidth (5x the sequential processor) and process one graph edge perclock cycle per processing element. We show how to automatically choose parameters forthe logic architecture so the high-level GRAPAL programming model is independent of thetarget FPGA architecture. We compare our GRAPAL applications mapped to a platformwith four 65 nm Virtex-5 SX95T FPGAs to sequential programs run on a single 65 nmXeon 5160. Our implementation achieves a total mean speedup of 8x with a maximumspeedup of 28x. The speedup per chip is 2x with a maximum of 7x. The ratio of energyused by our GRAPAL implementation over the sequential implementation has a mean of1/10 with a minimum of 1/80.
منابع مشابه
Parallel Jobs Scheduling with a Specific Due Date: Asemi-definite Relaxation-based Algorithm
This paper considers a different version of the parallel machines scheduling problem in which the parallel jobs simultaneously requirea pre-specifiedjob-dependent number of machines when being processed.This relaxation departs from one of the classic scheduling assumptions. While the analytical conditions can be easily statedfor some simple models, a graph model approach is required when confli...
متن کاملParallel and External List Ranking and Connected Components
Improved parallel, external and parallel-external algorithms for list-ranking and computing the connected components of a graph are presented. These algorithms are implemented and tested on a cluster of workstations using the C programming language and mpich, a portable implementation of the MPI (Message-Passing Interface) standard.
متن کاملData Management in Large Networks
Improved parallel, external and parallel-external algorithms for list-ranking and computing the con-nected components of a graph are presented. These algorithms are implemented and tested on a clusterof workstations using the C programming language and mpich, a portable implementation of the MPI(Message-Passing Interface) standard.
متن کاملGraph Algorithms in a Guaranteed-Deterministic Language
Deterministic implementations of graph algorithms have recently been shown to be reasonably performant. In this paper we explore a follow-on question: can deterministic graph algorithms be expressed in guaranteed-deterministic parallel languages, which are necessarily restrictive in what concurrency idioms they employ? To find out, we implement several graph algorithms using the LVish library f...
متن کاملCuPit-2 | A Parallel Language for Neural Algorithms: Language Reference and Tutorial
CuPit-2 is a parallel programming language with two main design goals: 1. to allow the simple, problem-adequate formulation of learning algorithms for neural networks with focus on algorithms that change the topology of the underlying neural network during the learning process and 2. to allow the generation of e cient code for massively parallel machines from a completely machine-independent pr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012